home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1993 July / InfoMagic USENET CD-ROM July 1993.ISO / sources / misc / volume17 / calentool / part21 < prev    next >
Encoding:
Internet Message Format  |  1991-04-07  |  54.4 KB

  1. From: billr@saab.CNA.TEK.COM (Bill Randle)
  2. Newsgroups: comp.sources.misc
  3. Subject: v17i102:  calentool - day/week/month/year-at-a-glance SunView tool, Part21/23
  4. Message-ID: <1991Apr7.005827.28495@sparky.IMD.Sterling.COM>
  5. Date: 7 Apr 91 00:58:27 GMT
  6. Approved: kent@sparky.imd.sterling.com
  7. X-Checksum-Snefru: 1c671e8a de72aae2 f6a8fcab 72f41814
  8.  
  9. Submitted-by: Bill Randle <billr@saab.CNA.TEK.COM>
  10. Posting-number: Volume 17, Issue 102
  11. Archive-name: calentool/part21
  12.  
  13. #! /bin/sh
  14. # This is a shell archive.  Remove anything before this line, then unpack
  15. # it by saving it into a file and typing "sh file".  To overwrite existing
  16. # files, type "sh file -c".  You can also feed this as standard input via
  17. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  18. # will see the following message at the end:
  19. #        "End of archive 21 (of 23)."
  20. # Contents:  dates/events2 moon.c
  21. # Wrapped by billr@saab on Thu Mar 28 08:38:33 1991
  22. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  23. if test -f 'dates/events2' -a "${1}" != "-c" ; then 
  24.   echo shar: Will not clobber existing file \"'dates/events2'\"
  25. else
  26. echo shar: Extracting \"'dates/events2'\" \(27275 characters\)
  27. sed "s/^X//" >'dates/events2' <<'END_OF_FILE'
  28. X# CalenTool V2.2 - nflag=1 range=3,4  - DO NOT REMOVE THIS LINE
  29. X# $Header: events2,v 1.1 91/03/07 16:19:05 billr Exp $
  30. X# Notable events in history (Mar-Apr)
  31. X# Today in History dates provided by Robert Heckendorn at
  32. X# Hewlett-Packard in Fort Collins, Colorado.
  33. X# Any corrections or additions may be sent to robert@fc.hp.com
  34. X#
  35. X# Additional dates provided from ProLine's today file
  36. X#
  37. X# Converted to calentool format by Larry Virden (lwv27%cas.BITNET@CUNYVM.CUNY.Edu)
  38. X# and further edited and merged by Bill Randle (billr@saab.cna.tek.com).
  39. X# All dates in this file are New Style unless otherwise noted.
  40. X# Some duplicates may exist where I haven't been able to verify which
  41. X# one is correct.
  42. X#
  43. X** 03 01 99 99 00 Bank of Italy becomes a National Bank. (1927)
  44. X** 03 01 99 99 00 EPA orders emergency ban on 2,4,5T and Silvex used to kill weeds (1979)
  45. X** 03 01 99 99 00 Nebraska becomes the 37th state (1867)
  46. X** 03 01 99 99 00 Ohio becomes the 17th state (1803)
  47. X** 03 01 99 99 00 Sarah Goode, Sarah Osborne, and Tituba arrested for witchcraft in Salem, Massachusetts (1692)
  48. X** 03 01 99 99 00 The world's first national park was established, when Pres. Ulysses S. Grant signed an act of Congress designating more than 2 million acres (800,000 hectares), mostly in Wyoming, as Yellowstone National Park. (1872)
  49. X** 03 01 99 99 00 patent issued for taking & projecting motion pictures to Louis Ducos du Hauron (he never did build such a machine, though) (1864)
  50. X** 03 01 99 99 00 the 22nd amendment, limiting the number of terms of presidential office is passed (1951)
  51. X** 03 01 99 99 00 the Articles of Confederation adopted by Continental Congress. (1781)
  52. X** 03 02 99 99 00 Congress creates the Territory of Nevada. (1861)
  53. X** 03 02 99 99 00 First Class postage raised to 10 cents from 8 cents. (1974)
  54. X** 03 02 99 99 00 Roman Catholic Cardinal Eugino Pacelli becomes Pope Pius XII (1939)
  55. X** 03 02 99 99 00 Standard US letter postage goes to $.10 (1974)
  56. X** 03 02 99 99 00 Texas declares independence (1836)
  57. X** 03 02 99 99 00 U.S. Forest Service founded (1901)
  58. X** 03 02 99 99 00 US Court of Customs & Patent Appeals created by US Congress. (1929)
  59. X** 03 03 99 99 00 A president's salary was raised from $25000 to $50000 per year (1873)
  60. X** 03 03 99 99 00 American Telephone and Telegraph incorporated. (1885)
  61. X** 03 03 99 99 00 Congress authorizes smallest US silver coin, the 3-cent piece. (1851)
  62. X** 03 03 99 99 00 Congress passed a resolution ordering U.S. Mint be established. (1791)
  63. X** 03 03 99 99 00 Congress passes 1st foreign aid bill. (1812)
  64. X** 03 03 99 99 00 Florida becomes the 27th state (1845)
  65. X** 03 03 99 99 00 Gold Coinage Act passed, allowing gold coins to be minted. (1849)
  66. X** 03 03 99 99 00 Morocco gains it's independence. (1956)
  67. X** 03 03 99 99 00 The Marines make their first amphibious landing. (1776)
  68. X** 03 03 99 99 00 a 20-cent coin was authorized by Congress (It only lasted 3 years). (1875)
  69. X** 03 04 99 99 00 1st railroad in US chartered, the Granite Railway in Quincy, Mass (1826)
  70. X** 03 04 99 99 00 Congress declares the Constitution to be in effect. (1789)
  71. X** 03 04 99 99 00 First meeting of Congress, in N.Y.C. (1789)
  72. X** 03 04 99 99 00 Hernando Cortez lands in Mexico (1519)
  73. X** 03 04 99 99 00 Roosevelt inaugurated, said "We have nothing to fear but fear itself" (1933)
  74. X** 03 04 99 99 00 Vermont becomes the 14th state (1791)
  75. X** 03 04 99 99 00 William Penn is given land by King Charles II for a "holy experiment" of a Colony in Pennsylvania (1681)
  76. X** 03 05 99 99 00 Boston Massacre (1770)
  77. X** 03 05 99 99 00 Congress appropriates $30,000 to ship camels to western US. (1845)
  78. X** 03 05 99 99 00 Southern Colorado gets the new area code 719 (1988)
  79. X** 03 05 99 99 00 railway between Bombay and Calcutta is completed (1870)
  80. X** 03 05 99 99 00 the Nazi party wins nearly half the seats in German elections (1933)
  81. X** 03 05 99 99 00 uprising by Irish convicts at Castle Hill, New South Wales, is crushed by government troops (1804)
  82. X** 03 06 99 99 00 All US banks closed (1933)
  83. X** 03 06 99 99 00 American bombers begin daytime attacks on Berlin (1944)
  84. X** 03 06 99 99 00 The Alamo finally falls after 13 days of siege by Santa Anna's troops (1836)
  85. X** 03 07 99 99 00 Flare up of racial tension during a civil rights march in Selma, Alabama (1965)
  86. X** 03 07 99 99 00 The first successful transatlantic radio telephone call took place between London and New York (1926)
  87. X** 03 07 99 99 00 coin vended locker patented (1911)
  88. X** 03 07 99 99 00 the game "Monopoly" is invented. (1933)
  89. X** 03 08 99 99 00 Accession of Queen Anne of Britain (1702)
  90. X** 03 08 99 99 00 First annual International Women's Day (1909)
  91. X** 03 08 99 99 00 The beginning of the February Revolution in Russia. (It is February in the Old Style aka the Julian calendar.) (1917)
  92. X** 03 09 99 99 00 Japanese defeat the Russians at Mukden (1905)
  93. X** 03 09 99 99 00 Pancho Villa invades U.S. (1916)
  94. X** 03 09 99 99 00 The Monitor and the Merrimack do battle at Hampton Roads (1862)
  95. X** 03 09 99 99 00 The war between Mexico and France ends (1839)
  96. X** 03 10 99 99 00 Big earthquake in Long Beach (W.C. Fields was making a movie when it struck & the cameras kept running) (1933)
  97. X** 03 10 99 99 00 James Earl Ray pleads guilty to murder of Martin Luther King Jr. (1969)
  98. X** 03 10 99 99 00 Japanese soldier found on Lubang Island in the Philippines who believes World War II is still on (1974)
  99. X** 03 10 99 99 00 The Vatican declares that conception in vitro is a sin. Childless parents are to look to the example of Jesus on the cross for comfort. (1987)
  100. X** 03 10 99 99 00 the 1st telephone call made by Alexander Graham Bell (1876)
  101. X** 03 10 99 99 00 the first incendiary raids on Japan (1945)
  102. X** 03 11 99 99 00 Bradfield Reservoir in Sheffield bursts and over 250 people drown (1864)
  103. X** 03 11 99 99 00 General McClellan is relieved of command (1862)
  104. X** 03 11 99 99 00 Great New England blizzard begins (1888)
  105. X** 03 11 99 99 00 H-Bomb accidentally dropped on Mars Bluff, South Carolina (but did not explode, since there still *is* a South Carolina) (1958)
  106. X** 03 11 99 99 00 The last Heath Hen alive in the world, dies (1932)
  107. X** 03 12 99 99 00 1st $20 Gold piece issued. (1850)
  108. X** 03 12 99 99 00 FDR conducts his first "Fireside Chat" (1936)
  109. X** 03 12 99 99 00 Juliette Low founds an organization called Girl Guides that later became the Girl Scouts (1912)
  110. X** 03 12 99 99 00 Mahatma Gandhi begins a campaign of civil disobedience with 200 mile march to protest British tax on salt (1930)
  111. X** 03 12 99 99 00 a speed limit of 30mph is introduced in towns and other built up areas in Britain (1935)
  112. X** 03 13 99 99 00 "Striptease" introduced, Paris (1894)
  113. X** 03 13 99 99 00 Dr. Lee de Forest demonstrates a sound motion picture system in New York (1923)
  114. X** 03 13 99 99 00 New York stock market crash (1907)
  115. X** 03 13 99 99 00 The Huguenots defeated at Jarnac (1569)
  116. X** 03 13 99 99 00 The Lancasters defeat the Yorks at the battle of Stamforn (1470)
  117. X** 03 14 99 99 00 Eli Whitney received a patent for his cotton gin (1794)
  118. X** 03 14 99 99 00 Great New England blizzard ends (1888)
  119. X** 03 14 99 99 00 Teddy Roosevelt excludes Japanese laborers from continental U.S. (1907)
  120. X** 03 14 99 99 00 Xerxes army is scared by a solar eclipse (479 BC)
  121. X** 03 15 99 99 00 Ides of March; Julius Caesar assassinated by Brutus (44 BC)
  122. X** 03 15 99 99 00 Maine becomes the 23rd state (1820)
  123. X** 03 15 99 99 00 US Mint stops buying and selling gold. (1968)
  124. X** 03 15 99 99 00 Watts, Los Angeles, riots kill two, injure 25 (1966)
  125. X** 03 15 99 99 00 Woodrow Wilson holds the 1st Presidential Press Conference. (1913)
  126. X** 03 15 99 99 00 riots and the abduction of Czar Nicholas II mark the beginning of the Russian revolution (1917)
  127. X** 03 16 99 99 00 Army Corps of Engineers is established (1802)
  128. X** 03 16 99 99 00 MyLai Massacre; 300 non-combatant villagers killed by U.S. infantrymen (1968)
  129. X** 03 16 99 99 00 Terry Anderson chief Middle East correspondent of the Associated Press is kidnapped in Lebanon (1985)
  130. X** 03 17 99 99 00 Bill establishing the White Sands National Monument in New Mexico is approved (1933)
  131. X** 03 17 99 99 00 Rubber bands are invented (1845)
  132. X** 03 17 99 99 00 The Dalai Lama escapes to India (1959)
  133. X** 03 17 99 99 00 The city of Dublin, Ireland founded (988)
  134. X** 03 17 99 99 00 Tibetans rise against occupying Chinese. (1959)
  135. X** 03 18 99 99 00 American Express founded. (1850)
  136. X** 03 18 99 99 00 Barnum & Bailey's Greatest Show on Earth opens in Madison Square Garden in New York City (1881)
  137. X** 03 18 99 99 00 End of the OPEC oil embargo (1974)
  138. X** 03 18 99 99 00 first use of Paris to London telephone line (1891)
  139. X** 03 19 99 99 00 Los Angeles Railway established to provide streetcar service. (1895)
  140. X** 03 19 99 99 00 Second Maori War ends in New Zealand (1861)
  141. X** 03 19 99 99 00 The Treaty of Versailles is rejected by the US Senate (1920)
  142. X** 03 19 99 99 00 US and British oil sources are expropriated by Mexico (1938)
  143. X** 03 20 99 99 00 Patty Hearst is convicted of bank robbery (1973)
  144. X** 03 20 99 99 00 Radio Caroline, original British pirate radio station, sinks (1980)
  145. X** 03 20 99 99 00 The Burlington Arcade in London is opened (1819)
  146. X** 03 21 99 99 00 Accession of Henry V of England (1413)
  147. X** 03 21 99 99 00 Florenz Ziegfeld, of Follies fame. (1869)
  148. X** 03 21 99 99 00 Geronimo is captured (1886)
  149. X** 03 21 99 99 00 Martin Luther King marched in Montgomery, Alabama (1965)
  150. X** 03 21 99 99 00 The massacre of 69 protesters at Sharpeville by South African police (1961)
  151. X** 03 21 99 99 00 The second battle of the Somme begins with a German offensive (1918)
  152. X** 03 22 99 99 00 A worker looking for air leaks with a candle causes $150 million fire at the Brown's Ferry reactor in Decatur, Alabama (1975)
  153. X** 03 22 99 99 00 Construction begins on Grand Coulee Dam in central Washington state (1941)
  154. X** 03 22 99 99 00 Cornstarch is patented (1841)
  155. X** 03 22 99 99 00 First Class Postage raised to 18 cents from 15 cents. (1981)
  156. X** 03 22 99 99 00 Joseph Priestly (father of soda pop) invents carbonated water. (1733)
  157. X** 03 22 99 99 00 There is an attempt to abduct Princess Anne in "The Mall" in London (1973)
  158. X** 03 23 99 99 00 1st telephone installed in the White House. (1929)
  159. X** 03 23 99 99 00 British scientist Martin Fleischman and University of Utah Chemist Stanley Pons claim they have discovered a way of causing fusion at room temperature (1989)
  160. X** 03 23 99 99 00 Los Angeles Railway Co starts using PCC streetcars. (1937)
  161. X** 03 23 99 99 00 Patrick Henry asks for Liberty or Death. (1775)
  162. X** 03 23 99 99 00 The Pope meets the Archbishop of Canterbury for the first time in 400 years, in the Sistine chapel (1966)
  163. X** 03 23 99 99 00 The Stamp Act is passed by parliament taxing the American Colonies (1765)
  164. X** 03 24 99 99 00 Construction of New York City subway system begins (1900)
  165. X** 03 25 99 99 00 Accession of Robert I of Scotland (1306)
  166. X** 03 25 99 99 00 Greece gains it's independence. (1821)
  167. X** 03 25 99 99 00 Triangle Shirt Waist Fire (1911)
  168. X** 03 25 99 99 00 a summit eruption on Mauna Loa was spotted at 1:25 AM. The Northeast rift zone was fountaining by 4:30 PM. During the next 21 days lava would flow almost to the city of Hilo. (1984)
  169. X** 03 26 99 99 00 First driving tests are given in England (1934)
  170. X** 03 26 99 99 00 For the first time since the revolution voters in the Soviet Union were given more than one candidate to vote for in a parliamentary election as part of Gorbachev's Democratization Plan (1989)
  171. X** 03 26 99 99 00 Hastings College of Law founded. (1878)
  172. X** 03 26 99 99 00 Judge Robert Warren is the first judge to issue a prior restraint to prevent the publication of workings of an H bomb in Progressive Magazine (1979)
  173. X** 03 26 99 99 00 Popeye statue unveiled, Crystal City TX Spinach Festival (1937)
  174. X** 03 26 99 99 00 The Camp David Accords are signed bring peace between Egypt and Israel after a 30 year state of war (1979)
  175. X** 03 27 99 99 00 Alaska Good Friday earthquake kills 117 (1964)
  176. X** 03 27 99 99 00 First Mormon temple is dedicated, in Kirtland, Ohio (1836)
  177. X** 03 27 99 99 00 Khrushchev becomes Premier of Soviet Union (1958)
  178. X** 03 28 99 99 00 First electric lights installed in Westminster Palace (1878)
  179. X** 03 28 99 99 00 Last German V rocket lands in Britain (1945)
  180. X** 03 28 99 99 00 Madrid surrenders to General Franco's rebel forces ending the Spanish civil war (1939)
  181. X** 03 28 99 99 00 Nathan Briggs gets patent for the washing machine. (1794)
  182. X** 03 28 99 99 00 Three Mile Island has a reactor accident, releases radioactive gas (1979)
  183. X** 03 29 99 99 00 Coca-Cola is created (1886)
  184. X** 03 29 99 99 00 Ice jam caused Niagara Falls to dry up (1848)
  185. X** 03 29 99 99 00 Last US troops leave Vietnam (1973)
  186. X** 03 29 99 99 00 Royal Albert Hall in London is opened by Queen Victoria (1871)
  187. X** 03 29 99 99 00 Swedish settled Christiana (Wilmington, Delaware) (1638)
  188. X** 03 30 99 99 00 15th Amendment passes, guarantees right to vote regardless of race. (1870)
  189. X** 03 30 99 99 00 A Sicilian woman of Palermo was sexually assaulted by a French soldier while on her way to evening prayers. The people of Palermo attacked all the French in town not sparing any and took the garrison of 8000 French beginning the success
  190. ful revolt know as the Sicilian Vespers Revolt. (1282)
  191. X** 03 30 99 99 00 A directive from Washington decrees that suits will be made without trouser cuffs, pleats and patch pockets until the end of the war. (1942)
  192. X** 03 30 99 99 00 Da Nang falls to the North Vietnamese (1975)
  193. X** 03 30 99 99 00 Hinckley shoots President Reagan but only wounds him (1981)
  194. X** 03 30 99 99 00 Patent granted to Hyman Lipman for a pencil with an ERASER (1853)
  195. X** 03 30 99 99 00 Russia sold Alaska to the U.S. (1867)
  196. X** 03 30 99 99 00 The 15th amendment, black suffrage, proclaimed (1870)
  197. X** 03 31 99 99 00 Japan invades Mongolia (1936)
  198. X** 03 31 99 99 00 Los Angeles ends streetcar service after nearly 90 years. (1963)
  199. X** 03 31 99 99 00 Newfoundland becomes a province (1949)
  200. X** 03 31 99 99 00 The Eiffel Tower is officially opened in Paris (1889)
  201. X** 03 31 99 99 00 The Marshall Aid Act is passed by Congress (1948)
  202. X** 03 31 99 99 00 The first U.S. treaty with Japan (1854)
  203. X** 03 31 99 99 00 There are violent riots against the new British Poll Tax in London (1990)
  204. X** 04 01 99 99 00 Oliver Pollock, a New Orleans Businessman, creates the "$". (1778)
  205. X** 04 01 99 99 00 invasion of Okinawa by US forces (1945)
  206. X** 04 02 99 99 00 Charles Lindbergh and Dr.John F. Condou turned over $50000 to an unidentified man in a New York City cemetery as Ransom for the Lindbergh baby (1932)
  207. X** 04 02 99 99 00 Congress adopts the plan of Hamilton and Jefferson to establish a bimetallic monetary standard for the United States. The bimetallic mint ratio was set at 15:1. (1792)
  208. X** 04 02 99 99 00 NACA was renamed National Aeronautics Space Agency (1958)
  209. X** 04 02 99 99 00 The Calcutta and Bombay Railroad opened for through traffic (1870)
  210. X** 04 02 99 99 00 The Faulken Islands, owned by Britain, are invaded by the Argentinians (1982)
  211. X** 04 02 99 99 00 The first meeting of the American Congress (1718)
  212. X** 04 02 99 99 00 Watson Watt granted a patent for RADAR. (1935)
  213. X** 04 02 99 99 00 Woodrow Wilson calls for a declaration of war on Germany (1917)
  214. X** 04 03 99 99 00 Pony Express is initiated (1860)
  215. X** 04 03 99 99 00 Standard US letter postage goes to $.25 (1988)
  216. X** 04 03 99 99 00 The 23rd amendment is passed allowing people in Washington DC to vote for president (1961)
  217. X** 04 04 99 99 00 12 nations including U.S. sign N. Atlantic Treaty. (1949)
  218. X** 04 04 99 99 00 130 people died in USAF plane accident in evacuation from Viet Nam. (1975)
  219. X** 04 04 99 99 00 Arizona governor Evan Meacham is impeached (1988)
  220. X** 04 04 99 99 00 Congress sets the number of stripes for the American flag at 13 and declares that a new star shall be added to the flag for each state that enters the union on the July fourth following the date of entry (1818)
  221. X** 04 04 99 99 00 NATO Established (1949)
  222. X** 04 04 99 99 00 Tandy Corp. acquires Radio Shack (9 stores) (1963)
  223. X** 04 05 99 99 00 Pocahontas marries John Rolfe. (1614)
  224. X** 04 06 99 99 00 Battle of Shiloh. (1862)
  225. X** 04 06 99 99 00 Commander R. E. Peary arrives at the North Pole (1909)
  226. X** 04 06 99 99 00 Earthquake in London badly damages St Paul's and other churches (1580)
  227. X** 04 06 99 99 00 Joseph Smith founds The Church of Jesus Christ of Latter-day Saints (the Mormons) (1830)
  228. X** 04 06 99 99 00 New York City ends trolley car service. (1957)
  229. X** 04 06 99 99 00 US declares war on Germany (1917)
  230. X** 04 06 99 99 00 Vancouver, BC is founded by the Canadian Pacific Railway Company (1886)
  231. X** 04 07 99 99 00 Albert Hofmann synthesizes LSD (Switzerland, 1943)
  232. X** 04 07 99 99 00 General Ulysses S. Grant's Union forces win the battle of Shiloh, Tennessee (1862)
  233. X** 04 07 99 99 00 Prohibition ends. (1933)
  234. X** 04 07 99 99 00 World Health Organization is established. (1948)
  235. X** 04 08 99 99 00 17th Amendment, requiring direct election of senators, ratified (1913)
  236. X** 04 08 99 99 00 Ponce de Leon lands at the site of St. Augustine naming the place Florida (1513)
  237. X** 04 09 99 99 00 Lee surrenders to Grant at Appomattox Courthouse (1865)
  238. X** 04 09 99 99 00 United Nations Charter hearing. (1955)
  239. X** 04 10 99 99 00 Gov Morton of Nebraska suggests a holiday for planting trees to be known as Arbor Day (1872)
  240. X** 04 10 99 99 00 The American Society for the Prevention of Cruelty to Animals was incorporated (1866)
  241. X** 04 10 99 99 00 The luxury Liner RMS Titanic set sail on its ill-fated (1912)maiden voyage.
  242. X** 04 11 99 99 00 Anaheim completes it's new electric light system. (1895)
  243. X** 04 11 99 99 00 Benevolent and Protective Order of Elks organized. (1876)
  244. X** 04 11 99 99 00 British troops land in Norway (1940)
  245. X** 04 11 99 99 00 General Douglas MacArthur is fired from his post as five star general (1951)
  246. X** 04 11 99 99 00 Gibralter becomes British after the signing of a peace treaty with Spain (1713)
  247. X** 04 11 99 99 00 Henry VI of England was deposed for losing the war of the roses (1471)
  248. X** 04 11 99 99 00 Lincoln gives his last public speech (1865)
  249. X** 04 11 99 99 00 Pres. Reagan returned to the White House, 12 days after being wounded in an assassination attempt (1981)
  250. X** 04 11 99 99 00 The trial of Adolph Eichmann begins in Jerusalem (1961)
  251. X** 04 11 99 99 00 The trial of Milo for the murder of Claudius begins in Rome (52)
  252. X** 04 12 99 99 00 Confederate troops fire first shots of Civil War at Ft Sumter (1861)
  253. X** 04 12 99 99 00 Lake Eola Fountain's name changed from Centennial Fountain to Linton Allen Fountain to honor one of the originators of the project (1966)
  254. X** 04 12 99 99 00 The Salk vaccine against polio was declared safe and effective. (1955)
  255. X** 04 12 99 99 00 The government issues the first patent on an animal, a laboratory mouse that is more sensitive to cancer (1988)
  256. X** 04 13 99 99 00 $2 bill re-introduced as United States currency. (1976)
  257. X** 04 13 99 99 00 President Franklin D. Roosevelt dedicated the Jefferson Memorial in Washington (1943)
  258. X** 04 13 99 99 00 The Metropolitan Museum of Art was founded in New York (1870)
  259. X** 04 13 99 99 00 The first elephant arrives in the US. (1796)
  260. X** 04 14 99 99 00 American planes firebomb Tokyo (1945)
  261. X** 04 14 99 99 00 J.C. Penney opened his first store in Kemmerer, Wyo. (1902)
  262. X** 04 14 99 99 00 The RMS Titanic hits iceberg and begins to sink, eventually killing 1503 people of the 2224 aboard (1912)
  263. X** 04 14 99 99 00 The first American society for the abolition of slavery was organized by Benjamin Franklin and Benjamin Rush (1775)
  264. X** 04 14 99 99 00 Veteran's Hospital at Fort Miley established. (1900)
  265. X** 04 15 99 99 00 Actor Clint Eastwood becomes mayor of Carmel, California (1986)
  266. X** 04 15 99 99 00 Chiang Kai-Shek forms a government in Hankow (1927)
  267. X** 04 15 99 99 00 Ray Kroc starts the McDonald's chain of fast food restaurants. (1955)
  268. X** 04 15 99 99 00 Sir James Ross discovers the North magnetic pole (1800)
  269. X** 04 15 99 99 00 The first American school for the deaf opened in Hartford, Conn. (1817)
  270. X** 04 15 99 99 00 Titanic sinks at 2:20 AM. (1912)
  271. X** 04 15 99 99 00 insulin becomes generally available for diabetics. (1923)
  272. X** 04 15 99 99 00 the famed Poodle Dog Restaurant closes. (1922)
  273. X** 04 15 99 99 00 the first McDonalds opens (1955)
  274. X** 04 16 99 99 00 Lenin returns to Russia after ten years of exile (1917)
  275. X** 04 16 99 99 00 The Chinese gift to Pres. Nixon of two giant pandas arrives in the U.S. (1972)
  276. X** 04 16 99 99 00 U.S. troops entered Nuremberg, Germany during World War II (1945)
  277. X** 04 16 99 99 00 the first mass production factory starts up making pistols (1813)
  278. X** 04 17 99 99 00 Bay of Pigs invasion, crushed by Castro forces (1961)
  279. X** 04 17 99 99 00 Ford Motor Company unveiled the Mustang (1964)
  280. X** 04 17 99 99 00 Giovanni da Verrazano discovered New York Harbor (1524)
  281. X** 04 17 99 99 00 Office of Price Administration established (handled rationing) (1941)
  282. X** 04 17 99 99 00 Sirhan Sirhan was convicted of assassinating Sen Robert Kennedy (1969)
  283. X** 04 17 99 99 00 Treaty of Shimonoseki signed, ends 1st Sino-Japanese War (1894-95). (1895)
  284. X** 04 17 99 99 00 Yugoslavia surrendered to Germany in World War II (1941)
  285. X** 04 17 99 99 00 a contract was signed between Christopher Columbus and Spain to seek a westward ocean passage to Asia (1492)
  286. X** 04 18 99 99 00 17 Americans killed at the U.S. Embassy in Beirut, in an explosion set off by a suicide bomber (1983)
  287. X** 04 18 99 99 00 Doolittle bombs Tokyo (1942)
  288. X** 04 18 99 99 00 First laundromat opens, in Fort Worth, Texas (1934)
  289. X** 04 18 99 99 00 Paul Revere began his famous ride from Charleston to Lexington (1775)
  290. X** 04 18 99 99 00 San Francisco Earthquake and Fire (1906)
  291. X** 04 18 99 99 00 a car bomb demolishes US embassy in Beirut, Lebanon killing more than 60 people (1983)
  292. X** 04 19 99 99 00 47 sailors killed when a gun turret exploded on battleship, Iowa (1989)
  293. X** 04 19 99 99 00 California Historical Society founded. (1852)
  294. X** 04 19 99 99 00 Charles Duryea takes the 1st American-made auto out for a spin. (1892)
  295. X** 04 19 99 99 00 Connecticut finally approves the Bill of Rights (only 148 years late) (1939)
  296. X** 04 19 99 99 00 General Douglas MacArthur bids farewell to congress saying "Old soldiers never die; they just fade away." (1951)
  297. X** 04 19 99 99 00 The US goes off the Gold Standard (1933)
  298. X** 04 19 99 99 00 The battles of Lexington and Concord take place starting the Revolutionary war (1775)
  299. X** 04 19 99 99 00 Thousands of Jews begin Warsaw Ghetto uprising (1943)
  300. X** 04 20 99 99 00 Marie and Pierre Curie isolated the radioactove element radium (1902)
  301. X** 04 20 99 99 00 Supreme Court unanimously rules in favor of busing to achieve racial desegregation (1971)
  302. X** 04 20 99 99 00 The U.S. 7th army captures the city of Nuremburg in World War II (1945)
  303. X** 04 21 99 99 00 Congress establishes US Mint in Denver, Colorado. (1862)
  304. X** 04 21 99 99 00 Sam Houston's Texas army defeats the Mexicans at San Jacinto (1836)
  305. X** 04 21 99 99 00 The Mona Lisa is stolen from the Louvre in Paris (1911)
  306. X** 04 21 99 99 00 The Red Baron, Baron Von Richthofen is shot down (perhaps by ground fire) as he flies low in pursuit of Lt. Wilford May's Sopwith Camel (1918)
  307. X** 04 21 99 99 00 legend claims that Rome was founded on this day (753 BC)
  308. X** 04 21 99 99 00 the first train crosses the Mississippi river (1856)
  309. X** 04 22 99 99 00 Congress authorizes use of the motto "In God We Trust" for US coins (1864)
  310. X** 04 22 99 99 00 Henry VIII ascended the throne of England (1509)
  311. X** 04 22 99 99 00 Oklahoma opened by land run (1889)
  312. X** 04 22 99 99 00 President L.B. Johnson opened the New York World Fair. (1964)
  313. X** 04 22 99 99 00 The New York World's Fairs opens (1964)
  314. X** 04 22 99 99 00 The countess of Salisbury was dancing with Edward II when one of her garters became dislodged and fell to the floor. He gallantly put it on his own leg and thus began the Order of the Garter (1348)
  315. X** 04 22 99 99 00 The first "Earth Day" observed (1970)
  316. X** 04 22 99 99 00 poison gas is used by the Germans for the first time in World War I (1915)
  317. X** 04 23 99 99 00 Coda-Cola Company announced it was changing its Coke formula only to later reintroduce the original formula as Coke Classic (1985)
  318. X** 04 23 99 99 00 Methodist and Evangelical Bretheren merged to become the United Methodist Church (1968)
  319. X** 04 23 99 99 00 Stephen Douglas, the "Little Giant", debated Lincoln (1813)
  320. X** 04 23 99 99 00 The vitascope system for projecting onto a screen (1896)
  321. X** 04 24 99 99 00 8 Americans killed and 5 wounded in ill-fated military attempt to rescue US hostages in Iran (1980)
  322. X** 04 24 99 99 00 Congress approved a bill establishing the Library of Congress (1800)
  323. X** 04 24 99 99 00 Irish nationalists in Dublin launch the Easter rebellion, which is put down by the British (1916)
  324. X** 04 24 99 99 00 President Kennedy issues a statement in which he claims "sole responsibility" for the Bay of Pigs failure (1961)
  325. X** 04 24 99 99 00 Spain declares war on the United States (1898)
  326. X** 04 24 99 99 00 Winston Churchill is knighted by Queen Elizabeth II (1953)
  327. X** 04 25 99 99 00 Ground broken for the Suez Canal (1859)
  328. X** 04 25 99 99 00 New York becomes 1st state requiring license plates for cars (1901)
  329. X** 04 25 99 99 00 Robert Noyce granted a patent for the integrated circuit. (1961)
  330. X** 04 25 99 99 00 US declares war on Spain (1898)
  331. X** 04 25 99 99 00 United Nations Conference starts. (1945)
  332. X** 04 25 99 99 00 a Convention Parliament meets and votes restoration of Charles II (1660)
  333. X** 04 25 99 99 00 workers at nuclear power plant in Tsurga, Japan exposed to radioactive material during repairs (1981)
  334. X** 04 26 99 99 00 1st British to establish an American colony land at Cape Henry, Va. (1607)
  335. X** 04 26 99 99 00 Worst nuclear power plant disaster in history happens as a reactor in Chernobyl USSR catches fire and melts down releasing radiation into the atmosphere (1986)
  336. X** 04 26 99 99 00 nationwide test of the Salk anti-polio begins. (1954)
  337. X** 04 27 99 99 00 1st Spanish settlement in Phillipines, Cebu City, founded. (1565)
  338. X** 04 27 99 99 00 Germany's liability is declared to be 6.65 billion pounds by the Reparations Commission (1921)
  339. X** 04 27 99 99 00 Grant's Tomb (famed of song & legend) is dedicated. (1897)
  340. X** 04 27 99 99 00 Quang Tri is cut off from the rest of South Vietnam by North Vietnamese troops (1972)
  341. X** 04 27 99 99 00 The Scots are defeated at Dunbar (1296)
  342. X** 04 27 99 99 00 The accession of David I of Scotland (1124)
  343. X** 04 27 99 99 00 The state of Israel, is recognized by the British government (1950)
  344. X** 04 27 99 99 00 US Social Security system makes its first benefit payment. (1937)
  345. X** 04 27 99 99 00 founding of the Second Republic, in Austria. (1945)
  346. X** 04 28 99 99 00 1st successful parachute jump is made. (1919)
  347. X** 04 28 99 99 00 Last Americans evacuated from Saigon. (1974)
  348. X** 04 28 99 99 00 Maryland becomes the 7th state (1788)
  349. X** 04 28 99 99 00 The crew of the H.M.S Bounty mutiny (1789)
  350. X** 04 29 99 99 00 Gideon Sandback receives patent for the zipper (1913)
  351. X** 04 30 99 99 00 Department of the Navy established. (1798)
  352. X** 04 30 99 99 00 George Washington inaugurated as 1st president of the US (1789)
  353. X** 04 30 99 99 00 Louisiana becomes the 18th state (1812)
  354. X** 04 30 99 99 00 Saigon, Vietnam, falls to communist forces (1975)
  355. X** 04 30 99 99 00 US more than doubles its size thru the Louisiana Purchase. (1803)
  356. X** 04 30 99 99 00 for the first time since 1948 a ship with an Israeli flag passes through the Suez Canal (1979)
  357. END_OF_FILE
  358. if test 27275 -ne `wc -c <'dates/events2'`; then
  359.     echo shar: \"'dates/events2'\" unpacked with wrong size!
  360. fi
  361. # end of 'dates/events2'
  362. fi
  363. if test -f 'moon.c' -a "${1}" != "-c" ; then 
  364.   echo shar: Will not clobber existing file \"'moon.c'\"
  365. else
  366. echo shar: Extracting \"'moon.c'\" \(24795 characters\)
  367. sed "s/^X//" >'moon.c' <<'END_OF_FILE'
  368. X/*
  369. X * $Header: moon.c,v 2.3 91/02/01 12:20:13 billr Exp $
  370. X */
  371. X/*
  372. X * moon.c
  373. X *
  374. X * Compute various interesting data about the moon.  Based on the
  375. X * moontool program by John Walker (see below), and modified by
  376. X * Bill Randle, Tektronix, Inc. to interface to the calentool
  377. X * program.
  378. X */
  379. X#include "ct.h"     /* for the NO_SUN_MOON #define */
  380. X#ifndef NO_SUN_MOON
  381. X
  382. X/*
  383. X
  384. X    A Moon for the Sun
  385. X
  386. X    Release 2.3
  387. X
  388. X    Designed and implemented by John Walker in December 1987,
  389. X    revised and updated in February of 1988.
  390. X    revised and updated again in June of 1988 by Ron Hitchens
  391. X
  392. X    Make with:
  393. X
  394. X    cc -O moontool.c -o moontool -lm -lsuntool -lsunwindow -lpixrect
  395. X
  396. X    Adding  appropriate  floating  point  options  to your hardware.  This
  397. X    program is a SunView tool which displays, as the  icon  for  a  closed
  398. X    window,  the  current phase of the Moon.  A subtitle in the icon gives
  399. X    the age of the Moon in days  and  hours.   If  called  with  the  "-t"
  400. X    switch,  it  rapidly  increments  forward  through time to display the
  401. X    cycle of phases.
  402. X
  403. X    If you open the window, additional information is displayed  regarding
  404. X    the  Moon.     The  information  is  generally  accurate  to    within ten
  405. X    minutes.
  406. X
  407. X    The algorithms used in this program to calculate the positions Sun and
  408. X    Moon as seen from the Earth are given in the book "Practical Astronomy
  409. X    With  Your  Calculator"  by  Peter  Duffett-Smith,   Second   Edition,
  410. X    Cambridge University Press, 1981.  Ignore the word "Calculator" in the
  411. X    title;  this  is  an  essential  reference  if  you're  interested  in
  412. X    developing    software  which  calculates  planetary    positions, orbits,
  413. X    eclipses, and  the  like.   If  you're  interested  in  pursuing  such
  414. X    programming, you should also obtain:
  415. X
  416. X    "Astronomical  Formulae for Calculators" by Jean Meeus, Third Edition,
  417. X    Willmann-Bell, 1985.  A must-have.
  418. X
  419. X    "Planetary  Programs  and  Tables  from  -4000  to  +2800"  by  Pierre
  420. X    Bretagnon  and Jean-Louis Simon, Willmann-Bell, 1986.  If you want the
  421. X    utmost  (outside  of  JPL)  accuracy  for  the  planets,  it's   here.
  422. X
  423. X    "Celestial BASIC" by Eric Burgess, Revised Edition, Sybex, 1985.  Very
  424. X    cookbook oriented, and many of the algorithms are hard to dig  out    of
  425. X    the turgid BASIC code, but you'll probably want it anyway.
  426. X
  427. X    Many of these references can be obtained from Willmann-Bell, P.O.  Box
  428. X    35025,  Richmond,  VA 23235, USA.  Phone: (804) 320-7016.  In addition
  429. X    to their own publications, they stock most of the standard    references
  430. X    for mathematical and positional astronomy.
  431. X
  432. X    This program was written by:
  433. X
  434. X       John Walker
  435. X       Autodesk, Inc.
  436. X       2320 Marinship Way
  437. X       Sausalito, CA  94965
  438. X       (415) 332-2344 Ext. 829
  439. X
  440. X       Usenet: {sun!well}!acad!kelvin
  441. X
  442. X    This  program is in the public domain: "Do what thou wilt shall be the
  443. X    whole of the law".  I'd appreciate  receiving  any  bug  fixes  and/or
  444. X    enhancements,  which  I'll  incorporate  in  future  versions  of  the
  445. X    program.  Please leave the original attribution information intact    so
  446. X    that credit and blame may be properly apportioned.
  447. X
  448. X   Revision history:
  449. X
  450. X        1.0  11/5/87   First version.  Only displayed icon, no
  451. X                       open window information display.
  452. X
  453. X        2.0  3/27/88   First posting to comp.sources.unix.
  454. X
  455. X        2.1  6/16/88   Bug fix.  Table of phases didn't update
  456. X                       at the moment of the new moon.  Call on
  457. X                       phasehunt didn't convert civil Julian date
  458. X                       to astronomical Julian date.  Reported by
  459. X                       Dag Bruck (dag@control.lth.se).
  460. X
  461. X        2.2  2/27/89   Michael McClary  (michael@xanadu.COM)
  462. X                       Added moon map, derived from the sun "fullmoon"
  463. X                       image file.  (It has not been checked for
  464. X                       rotation from the correct orientation.  Also, a
  465. X                       fixed icon doesn't model the librations of the
  466. X                       moon as viewed from the earth.) Also: tweaked
  467. X                       corners of icon.
  468. X
  469. X        2.3  6/7/89    Bug fix.  Table of phases skipped the phases
  470. X                       for July 1989.  This occurred due to sloppy
  471. X                       maintenance of the synodic month index in the
  472. X                       interchange of information between phasehunt()
  473. X                       and meanphase().  I simplified and corrected
  474. X                       the handling of the month index as phasehunt()
  475. X                       steps along and removed unneeded code from
  476. X                       meanphase().  Reported by Bill Randle of
  477. X                       Tektronix, Inc. (billr@saab.CNA.TEK.COM).
  478. X
  479. XAdditional History:
  480. X
  481. X    June 1988    Modified by Ron Hitchens to produce version 2.1
  482. X            modified icon generation to show surface texture
  483. X             on visible moon face.  Eliminated "illegal" direct
  484. X             modification of icon image memory.
  485. X            added a menu to allow switching in and out of
  486. X             test mode, for entertainment value mostly.
  487. X            reworked timer behaviour so that process doesn't
  488. X             wake up unnecessarily.
  489. X            trap sigwinch signals to notice more easily when the
  490. X             tool opens and closes.
  491. X            modified layout of information in open window display
  492. X             to reduce the amount of pixels modified in each
  493. X             update.  Batched pixwin updates so that only one
  494. X             screen rasterop per cycle is done.
  495. X            changed open window to display white-on-black for a
  496. X             more aesthetic look, and to suggest the effect of
  497. X             looking at the moon in the nighttime sky.
  498. X            setup default tool and canvas colors to be the same
  499. X             as B&W monochrome, for those us lucky enough to have
  500. X             color monitors and who have the default monochrome
  501. X             colors set to something other than B&W (I like white
  502. X             on dark blue myself)
  503. X            various code reformatting and pretty-printing to suit
  504. X             my own coding taste (I got a bit carried away).
  505. X            code tweaking to make lint happy.
  506. X            returned my hacked version to John.
  507. X
  508. X            Ron Hitchens
  509. X                ronbo@vixen.uucp
  510. X                ...!uunet!cs.utexas.edu!vixen!ronbo
  511. X                hitchens@cs.utexas.edu
  512. X*/
  513. X
  514. X
  515. X#include <stdio.h>
  516. X#include <math.h>
  517. X#include <sys/time.h>
  518. X
  519. X#include <suntool/sunview.h>
  520. X#include <suntool/canvas.h>
  521. X
  522. X#define TINYFONT    "/usr/lib/fonts/fixedwidthfonts/screen.r.7"
  523. X
  524. X/*
  525. X * define standard B/W monochrome colors as defaults in case we're running
  526. X * on a color system with the monochrome colors set differently
  527. X */
  528. X#define FG_DEFAULT    { 0, 0, 0 }        /* black */
  529. X#define BG_DEFAULT    { 255, 255, 255 }    /* white */
  530. X
  531. X
  532. X/*  Astronomical constants  */
  533. X
  534. X#define epoch        2444238.5       /* 1980 January 0.0 */
  535. X#define J1970       2440587.5      /* VAX clock Epoch 1970 Jan 1 (0h UT) */
  536. X
  537. X/*  Constants defining the Sun's apparent orbit  */
  538. X
  539. X#define elonge        278.833540       /* Ecliptic longitude of the Sun
  540. X                      at epoch 1980.0 */
  541. X#define elongp        282.596403       /* Ecliptic longitude of the Sun at
  542. X                      perigee */
  543. X#define eccent      0.016718       /* Eccentricity of Earth's orbit */
  544. X#define sunsmax     1.495985e8     /* Semi-major axis of Earth's orbit, km */
  545. X#define sunangsiz   0.533128       /* Sun's angular size, degrees, at
  546. X                      semi-major axis distance */
  547. X
  548. X/*  Elements of the Moon's orbit, epoch 1980.0  */
  549. X
  550. X#define mmlong      64.975464      /* Moon's mean lonigitude at the epoch */
  551. X#define mmlongp     349.383063       /* Mean longitude of the perigee at the
  552. X                      epoch */
  553. X#define mlnode        151.950429       /* Mean longitude of the node at the
  554. X                      epoch */
  555. X#define minc        5.145396       /* Inclination of the Moon's orbit */
  556. X#define mecc        0.054900       /* Eccentricity of the Moon's orbit */
  557. X#define mangsiz     0.5181         /* Moon's angular size at distance a
  558. X                      from Earth */
  559. X#define msmax       384401.0       /* Semi-major axis of Moon's orbit in km */
  560. X#define mparallax   0.9507       /* Parallax at distance a from Earth */
  561. X#define synmonth    29.53058868    /* Synodic month (new Moon to new Moon) */
  562. X#define lunatbase   2423436.0      /* Base date for E. W. Brown's numbered
  563. X                      series of lunations (1923 January 16) */
  564. X
  565. X/*  Properties of the Earth  */
  566. X
  567. X#define earthrad    6378.16       /* Radius of Earth in kilometres */
  568. X
  569. X
  570. X#define PI 3.14159265358979323846  /* Assume not near black hole nor in
  571. X                      Tennessee */
  572. X
  573. X/*  Handy mathematical functions  */
  574. X
  575. X#define sgn(x) (((x) < 0) ? -1 : ((x) > 0 ? 1 : 0))      /* Extract sign */
  576. X#define abs(x) ((x) < 0 ? (-(x)) : (x))           /* Absolute val */
  577. X#define fixangle(a) ((a) - 360.0 * (floor((a) / 360.0)))  /* Fix angle      */
  578. X#define torad(d) ((d) * (PI / 180.0))              /* Deg->Rad      */
  579. X#define todeg(d) ((d) * (180.0 / PI))              /* Rad->Deg      */
  580. X#define dsin(x) (sin(torad((x))))              /* Sin from deg */
  581. X#define dcos(x) (cos(torad((x))))              /* Cos from deg */
  582. X
  583. X
  584. X/*
  585. X * Moon image.  This is a standard icon-sized picture of the moon's face.
  586. X * The visible part, as calculated by the current time, is extracted from
  587. X * this image to create the displayed image.
  588. X */
  589. X
  590. Xstatic short moon_img [] = {
  591. X#include "moon.icon"
  592. X};
  593. Xmpr_static(moon_mpr, 64, 64, 1, moon_img);
  594. X
  595. Xextern Pixfont    *font;            /* pointer to regular icon font */
  596. Xextern Pixfont    *sfont;            /* pointer to tiny icon font */
  597. Xextern Canvas    mcanvas;            /* handle for the canvas */
  598. Xextern char *monthnames[];
  599. Xstatic Pixrect    *icon_mpr;        /* actual displayed pixrect */
  600. Xstatic Pixwin    *cpw;            /* pointer to the canvas' pixwin */
  601. Xstatic int    charhgt, charwid;    /* default std font height/width */
  602. Xstatic int info_col;
  603. Xstatic struct timezone tzp;
  604. X
  605. Xstatic char *labels [] = {
  606. X    "Moon phase:",
  607. X    "Age of moon:",
  608. X    "Moon's distance:",
  609. X    "Moon subtends:",
  610. X    "Last new moon:",
  611. X    "First quarter:",
  612. X    "Full moon:",
  613. X    "Last quarter:",
  614. X    "Next new moon:"
  615. X};
  616. X
  617. X/*  Forward functions  */
  618. Xstatic double        jtime(), phase();
  619. Xstatic void        phasehunt();
  620. Xstatic void        drawmoon(), jyear(), jhms();
  621. X
  622. X
  623. X/*
  624. X * DRAWMOON  --  Construct icon for moon, given phase of moon.
  625. X */
  626. X
  627. Xstatic void drawmoon (ph, src_pr, dst_pr)
  628. Xdouble        ph;
  629. XPixrect        *src_pr, *dst_pr;
  630. X{
  631. X    register int    i, lx, rx;
  632. X    register double    cp, xscale;
  633. X#define RADIUS        27.0
  634. X#define IRADIUS        27
  635. X#define OFFSET        28
  636. X#define CENTER        32
  637. X
  638. X    /* Clear the destination pixrect to all one-bits (black) */
  639. X    pr_rop (dst_pr, 0, 0, 64, 64, PIX_SET, (Pixrect *)0, 0, 0);
  640. X
  641. X    xscale = cos (2 * PI * ph);
  642. X    for (i = 0; i < IRADIUS; i++) {
  643. X        cp = RADIUS * cos (asin (i / RADIUS));
  644. X        if (ph < 0.5) {
  645. X            rx = CENTER + cp;
  646. X            lx = CENTER + xscale * cp;
  647. X        } else {
  648. X            lx = CENTER - cp;
  649. X            rx = CENTER - xscale * cp;
  650. X        }
  651. X
  652. X        /*
  653. X         * We now know the left and right endpoints of the scan line
  654. X         * for this y coordinate.  We raster-op the corresponding
  655. X         * scanlines from the source pixrect to the destination
  656. X         * pixrect, offsetting to properly place it in the pixrect and
  657. X         * reflecting vertically.
  658. X         */
  659. X        pr_rop (dst_pr, lx, OFFSET + i, (rx - lx) + 1, 1, PIX_SRC,
  660. X            src_pr, lx, OFFSET + i);
  661. X        pr_rop (dst_pr, lx, OFFSET - i, (rx - lx) + 1, 1, PIX_SRC,
  662. X            src_pr, lx, OFFSET - i);
  663. X    }
  664. X}
  665. X
  666. X#define prt(y) pw_text(cpw, info_col, charhgt*(y), PIX_SRC, font, tbuf)
  667. X#define prtxy(x,y) pw_text(cpw, charwid*(y+1), charhgt*(x), PIX_SRC,\
  668. X    font,tbuf)
  669. X#define EPL(x) (x), (x) == 1 ? "" : "s"
  670. X#define APOS(x) (x + 11)
  671. X
  672. X/*  MOON_DATA  -- print useful info about the moon */
  673. X
  674. Xmoon_data(seconds)
  675. Xlong seconds;
  676. X{
  677. X    int        lunation, wclosed;
  678. X    int        i, yy, mm, dd, hh, mmm, ss;
  679. X    int        aom_d, aom_h, aom_m;
  680. X    long        t;
  681. X    double        jd, p, aom, cphase, cdist, cangdia, csund, csuang;
  682. X    double        phasar [5];
  683. X    char        tbuf[80];
  684. X    struct tm    *gm, *ltm, *localtime();
  685. X    struct timeval tvp;
  686. X    struct pr_prpos    tloc;
  687. X    struct pr_size    txt_size;
  688. X    long clock;
  689. X    char *atp, *asctime();
  690. X
  691. X    icon_mpr = mem_create (64, 64, 1);
  692. X    pr_rop (icon_mpr, 0, 0, 64, 64, PIX_SRC, &moon_mpr, 0, 0);
  693. X    cpw = canvas_pixwin(mcanvas);
  694. X    charwid = font->pf_defaultsize.x;
  695. X    charhgt = font->pf_defaultsize.y;
  696. X    info_col = charwid * 20;
  697. X    jd = jtime ((gm = gmtime (&seconds)));
  698. X    gettimeofday(&tvp, &tzp); /* for timezone info */
  699. X    p = phase (jd, &cphase, &aom, &cdist, &cangdia, &csund, &csuang);
  700. X    aom_d = (int) aom;
  701. X    aom_h = (int) (24 * (aom - floor(aom)));
  702. X    aom_m = (int) (1440 * (aom - floor(aom))) % 60;
  703. X
  704. X    drawmoon(p, &moon_mpr, icon_mpr);
  705. X
  706. X    if (aom_d == 0) {
  707. X        (void)sprintf(tbuf, "%dh %dm", aom_h, aom_m);
  708. X    } else {
  709. X        (void)sprintf(tbuf, "%dd %dh", aom_d, aom_h);
  710. X    }
  711. X    txt_size = pf_textwidth (strlen (tbuf), sfont, tbuf);
  712. X    tloc.pos.x = (64 - txt_size.x) / 2;
  713. X    tloc.pos.y = 63;
  714. X    tloc.pr = icon_mpr;
  715. X    pf_text (tloc, PIX_NOT(PIX_SRC), sfont, tbuf);
  716. X
  717. X    /* Update textual information for open window */
  718. X
  719. X    /* start batching updates to the pixwin */
  720. X    pw_batch_on (cpw);
  721. X
  722. X    paint_labels();
  723. X    /* moon phase */
  724. X    (void)sprintf (tbuf, "%d%%   [0%% = New, 100%% = Full]  ",
  725. X        (int) (cphase * 100));
  726. X    prt(1);
  727. X
  728. X    /* Information about the Moon */
  729. X
  730. X    /* age of moon */
  731. X    (void)sprintf (tbuf, "%d day%s, %d hour%s, %d minute%s.       ",
  732. X        EPL(aom_d), EPL(aom_h), EPL(aom_m));
  733. X    prt(2);
  734. X
  735. X    /* moon distance */
  736. X    (void)sprintf (tbuf, "%ld kilometres, %.1f Earth radii.  ",
  737. X        (long) cdist, cdist / earthrad);
  738. X    prt(3);
  739. X
  740. X    /* moon subtends */
  741. X    (void)sprintf (tbuf, "%.4f degrees.       ", cangdia);
  742. X    prt(4);
  743. X
  744. X    /* paint the moon's image in the upper right of the canvas */
  745. X    pw_rop (cpw, 60 * charwid, charhgt, 64, 64, PIX_SRC, icon_mpr, 0, 0);
  746. X
  747. X    /*
  748. X     * Calculate times of phases of this lunation.
  749. X     */
  750. X    phasehunt(jd + 0.5, phasar);
  751. X
  752. X    for (i = 0; i < 5; i++) {
  753. X        fmt_phase_time (phasar[i], tbuf);
  754. X        prt(APOS(i));
  755. X    }
  756. X
  757. X    lunation = floor(((phasar[0] + 7) - lunatbase) / synmonth) + 1;
  758. X    (void)sprintf(tbuf, "Lunation %d ", lunation);
  759. X    prtxy(APOS(0), 49);                  
  760. X    (void)sprintf(tbuf, "Lunation %d ", lunation + 1);
  761. X    prtxy(APOS(4), 49);
  762. X
  763. X    /* flush the pixwin updates to the screen */
  764. X    pw_batch_off (cpw);
  765. X
  766. X    return;
  767. X}
  768. X#undef APOS
  769. X
  770. X
  771. X/*
  772. X * FMT_PHASE_TIME -- Format the provided julian date into the provided buffer
  773. X *        in local time format for screen display
  774. X */
  775. X
  776. Xfmt_phase_time (utime, buf)
  777. X    double    utime;
  778. X    char    *buf;
  779. X{
  780. X    long    clock;
  781. X    struct tm    *ltm, *localtime();
  782. X
  783. X    /* convert to seconds local time, so we can use localtime()
  784. X       to handle dst calculations */
  785. X    clock = (long)((utime - J1970) * 24. * 3600.);
  786. X    ltm = localtime(&clock);
  787. X    (void)sprintf (buf, " %02d:%02d %s %2d %s %d             ",
  788. X    ltm->tm_hour, ltm->tm_min, timezone(tzp.tz_minuteswest, ltm->tm_isdst), ltm->tm_mday, monthnames[ltm->tm_mon], ltm->tm_year+1900);
  789. X}
  790. X
  791. X
  792. X/*
  793. X * PAINT_LABELS -- Draw the labels into the canvas (open) window and right
  794. X *        justify them.  Done once at startup.  We paint the labels
  795. X *        separately to minimize the amount of screen real-estate
  796. X *        being modified on each update.
  797. X */
  798. X
  799. Xpaint_labels ()
  800. X{
  801. X    int    i;
  802. X
  803. X    for (i = 0; i < 4; i++) {
  804. X        pw_text (cpw, charwid * (17 - strlen (labels [i])),
  805. X            charhgt * (i + 1), PIX_SRC,
  806. X            font, labels[i]);
  807. X    }
  808. X    for (i = 4; i < 9; i++) {
  809. X        pw_text (cpw, charwid * (17 - strlen (labels [i])),
  810. X            charhgt * (i + 7), PIX_SRC,
  811. X            font, labels[i]);
  812. X    }
  813. X}
  814. X
  815. X
  816. X/*
  817. X * JDATE  --  Convert internal GMT date and time to Julian day
  818. X *           and fraction.
  819. X */
  820. X
  821. Xstatic
  822. Xlong
  823. Xjdate (t)
  824. X    struct tm    *t;
  825. X{
  826. X    long        c, m, y;
  827. X
  828. X    y = t->tm_year + 1900;
  829. X    m = t->tm_mon + 1;
  830. X    if (m > 2) {
  831. X        m = m - 3;
  832. X    } else {
  833. X        m = m + 9;
  834. X        y--;
  835. X    }
  836. X    c = y / 100L;           /* Compute century */
  837. X    y -= 100L * c;
  838. X    return (t->tm_mday + (c * 146097L) / 4 + (y * 1461L) / 4 +
  839. X        (m * 153L + 2) / 5 + 1721119L);
  840. X}
  841. X
  842. X
  843. X/*
  844. X * JTIME --    Convert internal GMT date and time to astronomical Julian
  845. X *           time (i.e. Julian date plus day fraction, expressed as
  846. X *           a double).
  847. X */
  848. X
  849. Xstatic
  850. Xdouble
  851. Xjtime (t)
  852. X    struct tm *t;
  853. X{
  854. X    return (jdate (t) - 0.5) + 
  855. X       (t->tm_sec + 60 * (t->tm_min + 60 * t->tm_hour)) / 86400.0;
  856. X}
  857. X
  858. X
  859. X/*
  860. X * JYEAR  --  Convert Julian date to year, month, day, which are
  861. X *           returned via integer pointers to integers.  
  862. X */
  863. X
  864. Xstatic
  865. Xvoid
  866. Xjyear (td, yy, mm, dd)
  867. X    double    td;
  868. X    int    *yy, *mm, *dd;
  869. X{
  870. X    double j, d, y, m;
  871. X
  872. X    td += 0.5;                /* Astronomical to civil */
  873. X    j = floor(td);
  874. X    j = j - 1721119.0;
  875. X    y = floor(((4 * j) - 1) / 146097.0);
  876. X    j = (j * 4.0) - (1.0 + (146097.0 * y));
  877. X    d = floor(j / 4.0);
  878. X    j = floor(((4.0 * d) + 3.0) / 1461.0);
  879. X    d = ((4.0 * d) + 3.0) - (1461.0 * j);
  880. X    d = floor((d + 4.0) / 4.0);
  881. X    m = floor(((5.0 * d) - 3) / 153.0);
  882. X    d = (5.0 * d) - (3.0 + (153.0 * m));
  883. X    d = floor((d + 5.0) / 5.0);
  884. X    y = (100.0 * y) + j;
  885. X    if (m < 10.0)
  886. X        m = m + 3;
  887. X    else {
  888. X        m = m - 9;
  889. X        y = y + 1;
  890. X    }
  891. X    *yy = y;
  892. X    *mm = m;
  893. X    *dd = d;
  894. X}
  895. X
  896. X
  897. X/*
  898. X * JHMS  --  Convert Julian time to hour, minutes, and seconds.
  899. X */
  900. X
  901. Xstatic
  902. Xvoid
  903. Xjhms(j, h, m, s)
  904. X    double j;
  905. X    int *h, *m, *s;
  906. X{
  907. X    long ij;
  908. X
  909. X    j += 0.5;                /* Astronomical to civil */
  910. X    ij = (j - floor(j)) * 86400.0;
  911. X    *h = ij / 3600L;
  912. X    *m = (ij / 60L) % 60L;
  913. X    *s = ij % 60L;
  914. X}
  915. X
  916. X
  917. X/*
  918. X * MEANPHASE  --  Calculates mean phase of the Moon for a given
  919. X *        base date.  This argument K to this function is
  920. X *        the precomputed synodic month index, given by:
  921. X *
  922. X *            K = (year - 1900) * 12.3685
  923. X *
  924. X *        where year is expressed as a year and fractional
  925. X *        year.
  926. X */
  927. X
  928. Xstatic
  929. Xdouble
  930. Xmeanphase (sdate, k)
  931. X    double    sdate, k;
  932. X{
  933. X    double    t, t2, t3, nt1;
  934. X
  935. X    /* Time in Julian centuries from 1900 January 0.5 */
  936. X    t = (sdate - 2415020.0) / 36525;
  937. X    t2 = t * t;           /* Square for frequent use */
  938. X    t3 = t2 * t;           /* Cube for frequent use */
  939. X
  940. X    nt1 = 2415020.75933 + synmonth * k
  941. X        + 0.0001178 * t2
  942. X        - 0.000000155 * t3
  943. X        + 0.00033 * dsin(166.56 + 132.87 * t - 0.009173 * t2);
  944. X
  945. X    return nt1;
  946. X}
  947. X
  948. X
  949. X/*
  950. X * TRUEPHASE  --  Given a K value used to determine the
  951. X *        mean phase of the new moon, and a phase
  952. X *        selector (0.0, 0.25, 0.5, 0.75), obtain
  953. X *        the true, corrected phase time.
  954. X */
  955. X
  956. Xstatic
  957. Xdouble
  958. Xtruephase(k, phase)
  959. X    double k, phase;
  960. X{
  961. X    double t, t2, t3, pt, m, mprime, f;
  962. X    int apcor = FALSE;
  963. X
  964. X    k += phase;           /* Add phase to new moon time */
  965. X    t = k / 1236.85;       /* Time in Julian centuries from
  966. X                      1900 January 0.5 */
  967. X    t2 = t * t;           /* Square for frequent use */
  968. X    t3 = t2 * t;           /* Cube for frequent use */
  969. X    pt = 2415020.75933       /* Mean time of phase */
  970. X         + synmonth * k
  971. X         + 0.0001178 * t2
  972. X         - 0.000000155 * t3
  973. X         + 0.00033 * dsin(166.56 + 132.87 * t - 0.009173 * t2);
  974. X
  975. X        m = 359.2242               /* Sun's mean anomaly */
  976. X        + 29.10535608 * k
  977. X        - 0.0000333 * t2
  978. X        - 0.00000347 * t3;
  979. X        mprime = 306.0253          /* Moon's mean anomaly */
  980. X        + 385.81691806 * k
  981. X        + 0.0107306 * t2
  982. X        + 0.00001236 * t3;
  983. X        f = 21.2964                /* Moon's argument of latitude */
  984. X        + 390.67050646 * k
  985. X        - 0.0016528 * t2
  986. X        - 0.00000239 * t3;
  987. X    if ((phase < 0.01) || (abs(phase - 0.5) < 0.01)) {
  988. X
  989. X       /* Corrections for New and Full Moon */
  990. X
  991. X       pt +=     (0.1734 - 0.000393 * t) * dsin(m)
  992. X            + 0.0021 * dsin(2 * m)
  993. X            - 0.4068 * dsin(mprime)
  994. X            + 0.0161 * dsin(2 * mprime)
  995. X            - 0.0004 * dsin(3 * mprime)
  996. X            + 0.0104 * dsin(2 * f)
  997. X            - 0.0051 * dsin(m + mprime)
  998. X            - 0.0074 * dsin(m - mprime)
  999. X            + 0.0004 * dsin(2 * f + m)
  1000. X            - 0.0004 * dsin(2 * f - m)
  1001. X            - 0.0006 * dsin(2 * f + mprime)
  1002. X            + 0.0010 * dsin(2 * f - mprime)
  1003. X            + 0.0005 * dsin(m + 2 * mprime);
  1004. X       apcor = TRUE;
  1005. X    } else if ((abs(phase - 0.25) < 0.01 || (abs(phase - 0.75) < 0.01))) {
  1006. X       pt +=     (0.1721 - 0.0004 * t) * dsin(m)
  1007. X            + 0.0021 * dsin(2 * m)
  1008. X            - 0.6280 * dsin(mprime)
  1009. X            + 0.0089 * dsin(2 * mprime)
  1010. X            - 0.0004 * dsin(3 * mprime)
  1011. X            + 0.0079 * dsin(2 * f)
  1012. X            - 0.0119 * dsin(m + mprime)
  1013. X            - 0.0047 * dsin(m - mprime)
  1014. X            + 0.0003 * dsin(2 * f + m)
  1015. X            - 0.0004 * dsin(2 * f - m)
  1016. X            - 0.0006 * dsin(2 * f + mprime)
  1017. X            + 0.0021 * dsin(2 * f - mprime)
  1018. X            + 0.0003 * dsin(m + 2 * mprime)
  1019. X            + 0.0004 * dsin(m - 2 * mprime)
  1020. X            - 0.0003 * dsin(2 * m + mprime);
  1021. X       if (phase < 0.5)
  1022. X          /* First quarter correction */
  1023. X          pt += 0.0028 - 0.0004 * dcos(m) + 0.0003 * dcos(mprime);
  1024. X       else
  1025. X          /* Last quarter correction */
  1026. X          pt += -0.0028 + 0.0004 * dcos(m) - 0.0003 * dcos(mprime);
  1027. X       apcor = TRUE;
  1028. X    }
  1029. X    if (!apcor) {
  1030. X           (void)fprintf (stderr,
  1031. X        "TRUEPHASE called with invalid phase selector.\n");
  1032. X       abort();
  1033. X    }
  1034. X    return pt;
  1035. X}
  1036. X
  1037. X
  1038. X/*
  1039. X * PHASEHUNT  --  Find time of phases of the moon which surround
  1040. X *        the current date.  Five phases are found, starting
  1041. X *        and ending with the new moons which bound the
  1042. X *        current lunation.
  1043. X */
  1044. X
  1045. Xstatic
  1046. Xvoid
  1047. Xphasehunt (sdate, phases)
  1048. X    double    sdate;
  1049. X    double    phases [5];
  1050. X{
  1051. X    int    yy, mm, dd;
  1052. X    double    adate, k1, k2, nt1, nt2;
  1053. X
  1054. X    adate = sdate - 45;
  1055. X    jyear(adate, &yy, &mm, &dd);
  1056. X    k1 = floor((yy + ((mm - 1) * (1.0 / 12.0)) - 1900) * 12.3685);
  1057. X
  1058. X    adate = nt1 = meanphase(adate, k1);
  1059. X    while (TRUE) {
  1060. X        adate += synmonth;
  1061. X        k2 = k1 + 1;
  1062. X        nt2 = meanphase(adate, k2);
  1063. X        if (nt1 <= sdate && nt2 > sdate)
  1064. X            break;
  1065. X        nt1 = nt2;
  1066. X        k1 = k2;
  1067. X    }
  1068. X    phases[0] = truephase(k1, 0.0);
  1069. X    phases[1] = truephase(k1, 0.25);
  1070. X    phases[2] = truephase(k1, 0.5);
  1071. X    phases[3] = truephase(k1, 0.75);
  1072. X    phases[4] = truephase(k2, 0.0);
  1073. X}
  1074. X
  1075. X
  1076. X/*
  1077. X * KEPLER  --    Solve the equation of Kepler.
  1078. X */
  1079. X
  1080. Xstatic
  1081. Xdouble
  1082. Xkepler(m, ecc)
  1083. X    double m, ecc;
  1084. X{
  1085. X    double e, delta;
  1086. X#define EPSILON 1E-6
  1087. X
  1088. X    e = m = torad(m);
  1089. X    do {
  1090. X        delta = e - ecc * sin(e) - m;
  1091. X        e -= delta / (1 - ecc * cos(e));
  1092. X    } while (abs (delta) > EPSILON);
  1093. X    return e;
  1094. X}
  1095. X
  1096. X
  1097. X/*
  1098. X * PHASE  --  Calculate phase of moon as a fraction:
  1099. X *
  1100. X *    The argument is the time for which the phase is requested,
  1101. X *    expressed as a Julian date and fraction.  Returns the terminator
  1102. X *    phase angle as a percentage of a full circle (i.e., 0 to 1),
  1103. X *    and stores into pointer arguments the illuminated fraction of
  1104. X *    the Moon's disc, the Moon's age in days and fraction, the
  1105. X *    distance of the Moon from the centre of the Earth, and the
  1106. X *    angular diameter subtended by the Moon as seen by an observer
  1107. X *    at the centre of the Earth.
  1108. X */
  1109. X
  1110. Xstatic
  1111. Xdouble
  1112. Xphase (pdate, pphase, mage, dist, angdia, sudist, suangdia)
  1113. X    double    pdate;
  1114. X    double    *pphase;        /* Illuminated fraction */
  1115. X    double    *mage;            /* Age of moon in days */
  1116. X    double    *dist;            /* Distance in kilometres */
  1117. X    double    *angdia;        /* Angular diameter in degrees */
  1118. X    double    *sudist;        /* Distance to Sun */
  1119. X    double    *suangdia;        /* Sun's angular diameter */
  1120. X{
  1121. X
  1122. X    double    Day, N, M, Ec, Lambdasun, ml, MM, MN, Ev, Ae, A3, MmP,
  1123. X        mEc, A4, lP, V, lPP, NP, y, x, Lambdamoon, BetaM,
  1124. X        MoonAge, MoonPhase,
  1125. X        MoonDist, MoonDFrac, MoonAng, MoonPar,
  1126. X        F, SunDist, SunAng;
  1127. X
  1128. X        /* Calculation of the Sun's position */
  1129. X
  1130. X    Day = pdate - epoch;            /* Date within epoch */
  1131. X    N = fixangle((360 / 365.2422) * Day);    /* Mean anomaly of the Sun */
  1132. X    M = fixangle(N + elonge - elongp);    /* Convert from perigee
  1133. X                         co-ordinates to epoch 1980.0 */
  1134. X    Ec = kepler(M, eccent);            /* Solve equation of Kepler */
  1135. X    Ec = sqrt((1 + eccent) / (1 - eccent)) * tan(Ec / 2);
  1136. X    Ec = 2 * todeg(atan(Ec));        /* True anomaly */
  1137. X        Lambdasun = fixangle(Ec + elongp);    /* Sun's geocentric ecliptic
  1138. X                            longitude */
  1139. X    /* Orbital distance factor */
  1140. X    F = ((1 + eccent * cos(torad(Ec))) / (1 - eccent * eccent));
  1141. X    SunDist = sunsmax / F;            /* Distance to Sun in km */
  1142. X        SunAng = F * sunangsiz;        /* Sun's angular size in degrees */
  1143. X
  1144. X
  1145. X        /* Calculation of the Moon's position */
  1146. X
  1147. X        /* Moon's mean longitude */
  1148. X    ml = fixangle(13.1763966 * Day + mmlong);
  1149. X
  1150. X        /* Moon's mean anomaly */
  1151. X    MM = fixangle(ml - 0.1114041 * Day - mmlongp);
  1152. X
  1153. X        /* Moon's ascending node mean longitude */
  1154. X    MN = fixangle(mlnode - 0.0529539 * Day);
  1155. X
  1156. X    /* Evection */
  1157. X    Ev = 1.2739 * sin(torad(2 * (ml - Lambdasun) - MM));
  1158. X
  1159. X    /* Annual equation */
  1160. X    Ae = 0.1858 * sin(torad(M));
  1161. X
  1162. X    /* Correction term */
  1163. X    A3 = 0.37 * sin(torad(M));
  1164. X
  1165. X    /* Corrected anomaly */
  1166. X    MmP = MM + Ev - Ae - A3;
  1167. X
  1168. X    /* Correction for the equation of the centre */
  1169. X    mEc = 6.2886 * sin(torad(MmP));
  1170. X
  1171. X    /* Another correction term */
  1172. X    A4 = 0.214 * sin(torad(2 * MmP));
  1173. X
  1174. X    /* Corrected longitude */
  1175. X    lP = ml + Ev + mEc - Ae + A4;
  1176. X
  1177. X    /* Variation */
  1178. X    V = 0.6583 * sin(torad(2 * (lP - Lambdasun)));
  1179. X
  1180. X    /* True longitude */
  1181. X    lPP = lP + V;
  1182. X
  1183. X    /* Corrected longitude of the node */
  1184. X    NP = MN - 0.16 * sin(torad(M));
  1185. X
  1186. X    /* Y inclination coordinate */
  1187. X    y = sin(torad(lPP - NP)) * cos(torad(minc));
  1188. X
  1189. X    /* X inclination coordinate */
  1190. X    x = cos(torad(lPP - NP));
  1191. X
  1192. X    /* Ecliptic longitude */
  1193. X    Lambdamoon = todeg(atan2(y, x));
  1194. X    Lambdamoon += NP;
  1195. X
  1196. X    /* Ecliptic latitude */
  1197. X    BetaM = todeg(asin(sin(torad(lPP - NP)) * sin(torad(minc))));
  1198. X
  1199. X    /* Calculation of the phase of the Moon */
  1200. X
  1201. X    /* Age of the Moon in degrees */
  1202. X    MoonAge = lPP - Lambdasun;
  1203. X
  1204. X    /* Phase of the Moon */
  1205. X    MoonPhase = (1 - cos(torad(MoonAge))) / 2;
  1206. X
  1207. X    /* Calculate distance of moon from the centre of the Earth */
  1208. X
  1209. X    MoonDist = (msmax * (1 - mecc * mecc)) /
  1210. X       (1 + mecc * cos(torad(MmP + mEc)));
  1211. X
  1212. X        /* Calculate Moon's angular diameter */
  1213. X
  1214. X    MoonDFrac = MoonDist / msmax;
  1215. X    MoonAng = mangsiz / MoonDFrac;
  1216. X
  1217. X        /* Calculate Moon's parallax */
  1218. X
  1219. X    MoonPar = mparallax / MoonDFrac;
  1220. X
  1221. X    *pphase = MoonPhase;
  1222. X    *mage = synmonth * (fixangle(MoonAge) / 360.0);
  1223. X    *dist = MoonDist;
  1224. X    *angdia = MoonAng;
  1225. X    *sudist = SunDist;
  1226. X    *suangdia = SunAng;
  1227. X    return fixangle(MoonAge) / 360.0;
  1228. X}
  1229. X#endif  /* NO_SUN_MOON */
  1230. END_OF_FILE
  1231. if test 24795 -ne `wc -c <'moon.c'`; then
  1232.     echo shar: \"'moon.c'\" unpacked with wrong size!
  1233. fi
  1234. # end of 'moon.c'
  1235. fi
  1236. echo shar: End of archive 21 \(of 23\).
  1237. cp /dev/null ark21isdone
  1238. MISSING=""
  1239. for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ; do
  1240.     if test ! -f ark${I}isdone ; then
  1241.     MISSING="${MISSING} ${I}"
  1242.     fi
  1243. done
  1244. if test "${MISSING}" = "" ; then
  1245.     echo You have unpacked all 23 archives.
  1246.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  1247. else
  1248.     echo You still need to unpack the following archives:
  1249.     echo "        " ${MISSING}
  1250. fi
  1251. ##  End of shell archive.
  1252. exit 0
  1253.  
  1254. exit 0 # Just in case...
  1255. -- 
  1256. Kent Landfield                   INTERNET: kent@sparky.IMD.Sterling.COM
  1257. Sterling Software, IMD           UUCP:     uunet!sparky!kent
  1258. Phone:    (402) 291-8300         FAX:      (402) 291-4362
  1259. Please send comp.sources.misc-related mail to kent@uunet.uu.net.
  1260.